AWSマネジメントコンソールでrootユーザ固有の表示を確認してみた
はじめに
清水です。先日、AWSのrootユーザでのみ設定可能な項目の設定状況を確認する機会がありました。マネジメントコンソールからIAMユーザと同様の箇所を確認すれば良い、と思いきや、rootユーザでは設定ページなどが多少異なっている箇所があります。普段ほとんどrootユーザでログインすることはないため *1、設定項目・設定箇所にたどり着くまで少し時間がかかったり、また再度設定状況の確認のためだけにrootユーザでログインするのも手間だったりするな、ということで、今回は備忘録がてらマネジメントコンソールでrootユーザとIAMユーザとで表示などが異なった点をまとめておこうと思います。
rootユーザのセキュリティ認証情報
まずはrootユーザのセキュリティ認証情報についてです。rootユーザのパスワードやMFA、アクセスキーなどの設定画面ですね。マネジメントコンソールの右上、アカウント名をクリックして「マイセキュリティ資格情報」から進みましょう。
セキュリティ認証情報画面に遷移します。以下がrootユーザのセキュリティ認証情報画面ですが、普段使っているIAMユーザのものと少し雰囲気が違いますね。
確認用にIAMユーザでマネジメントコンソールにログイン、同じ手順でセキュリティ認証情報のページ(https://console.aws.amazon.com/iam/home?region=ap-northeast-1#/security_credentials)を表示させたのが下記になります。(なお、本エントリではIAMユーザとしてAWS管理ポリシー「AdministratorAccess」をアタッチしたユーザを利用し、rootユーザとのマネジメントコンソールでの表示の比較を行います。)
rootユーザでパスワードの変更画面に進むと、以下のようにアカウント名とEメールアドレス、パスワードが変更できるアカウント設定の更新画面になります。セキュリティ認証情報のページ内のダイアログでパスワード変更ができるIAMユーザとは異なる点ですね。
rootユーザのパスワードはrootユーザでしか変更できない、という点もIAMユーザと大きく異なる点です。同様にアクセスキー(アクセスキーIDとシークレットアクセスキー)についての確認や有効無効の設定ができるのもrootユーザのみとなります。(rootユーザのアクセスキー使用状況自体は認証情報レポートから参照可能です。)
ところでこのアクセスキーの項目、テーブルヘッダ(作成日、アクセスキーID、、、の行)の背景色が昔のマネジメントコンソールっぽい、、と思いました。伝わりますかね……。
続くCloudFrontのキーペアについては、rootユーザでのみ作成などの管理が可能です。
ただし2020年秋にリリースされたIAMユーザによるCloudFrontの公開鍵管理機能により、こちらのCloudFrontのキーペアも特別な事情がない限り使用することはないのかな、と思います。
アカウントIDの項目では正規ユーザIDについても確認できます。
個人的に、この正規ユーザIDについてもrootユーザでのみ確認可能な項目だったかな、とみたときにパッと思ったのですが、こちらはIAMユーザでも確認可能な項目です。IAMユーザの場合はセキュリティ認証情報ページ冒頭、アカウントの詳細部分に記載があります。
ところで、先ほどのアクセスキーの項目で確認したとおり、現在このrootユーザにはアクセスキーが有効になっています。この状態でマネジメントコンソールのIAMダッシュボード(https://console.aws.amazon.com/iam/home?region=ap-northeast-1#/home)を確認してみましょう。rootアカウントでページを開いた場合は以下のようにセキュリティアラートが表示されます。
このrootユーザのアクセスキーに対するセキュリティアラート、IAMユーザでアクセスした場合は表示されません。(ログインしているユーザに対するセキュリティアラート、という意味でしょう。またIAMユーザでアクセスキーを有効にしている場合は特にアラート状態ではないかと思います。IAMユーザで何かセキュリティアラートとなっている場合にその項目が表示されるかは不明です。)
rootユーザのアカウント情報(請求情報)
続いてはアカウントと請求情報まわりです。ただしこれらの情報をIAMユーザ(IAMロール含む)で確認するためには、rootユーザでの設定が必要です。(設定済みの場合も多いかと思います。設定している場合、していない場合の違いなどは後述します。)まずはrootユーザで設定項目を確認してみます。右上アカウント名で展開できるメニューから、マイアカウントをクリックします。以下のようにアカウント設定や支払い情報などの確認画面に遷移します。(URLはhttps://console.aws.amazon.com/billing/home?#/accountですね。)
デフォルトで各項目は展開されていますが、すべて閉じてみましょう。このページで設定できる項目が確認できます。
ではIAMユーザ上記と同じ画面を開いてみます。IAMユーザでも右上IAMユーザ名で開けるメニューからマイアカウントで同じURL(https://console.aws.amazon.com/billing/home?#/account)に遷移できますね。
遷移先のページですが、先ほどのrootユーザでアクセスしたときと同様のページが表示される場合と、以下のように「アクセス権限が必要です」と権限不足で表示エラーとなってしまう場合の2パターンが発生します。
IAMユーザについては前述のとおり、AWS管理ポリシー「AdministratorAccess」をアタッチしているためIAMアクセス権限として不足はないはずです。この場合に権限不足の表示エラーとなってしまうのは、「IAMユーザー/ロールによる請求情報へのアクセス」が無効になっているためです。なおこのアクセス設定が無効になっていると、以下のように「請求情報とコスト管理ダッシュボード」、つまりBillingのトップページ(https://console.aws.amazon.com/billing/home#/)もアクセスが拒否されます。
こちらの項目は、「AWSアカウント開設後にすべきこと」にまとめられていることが多いので、すでに設定済みの(IAMユーザー/ロールによる請求情報へのアクセスを有効にしている)場合も多いかと思います。
もし上記のように、IAMユーザでは権限があるのに「アクセス権限が必要です」などと権限不足のエラーが出てしまう場合には、こちらの請求情報へのアクセスが許可されているかを確認します。rootユーザでマイアカウントページを開き、その中の「IAMユーザー/ロールによる請求情報へのアクセス」の項目を確認します。「AWSリージョン」の下、「リザーブドインスタンスMarketplaceの設定」の上にありますね。「IAMユーザー/ロールによる請求情報へのアクセスは無効になっています。」という表示が確認できます。
「編集」の文字列のリンクをクリック、「IAMアクセスのアクティブ化」をチェックして[更新]することでIAMユーザー/ロールによる請求情報へのアクセスが有効になります。
この状態で、再度IAMユーザからマイアカウントページを表示させてみます。今度は権限不足のエラーは表示されず、設定項目が表示されます。
さて、このIAMユーザから表示できるマイアカウントページについて詳細を確認してみましょう。先ほどrootユーザで確認したとおり、展開されている各項目を閉じて設定項目一覧として確認しみます。
rootユーザで確認した際には、「AWSリージョン」と「リザーブドインスタンスMarketplaceの設定」の項目の間に「IAMユーザー/ロールによる請求情報へのアクセス」がありましたが、IAMユーザではこの項目自体が表示されていない、ということになります。(考えてみれば、このページが表示されていれば、IAMユーザー/ロールによる請求情報へのアクセスは有効に設定されている、ということにはなりますが。)
ということでアカウント情報と請求情報まわりについてまとめると、以下のようになります。
- 「IAMユーザー/ロールによる請求情報へのアクセス」が許可(有効に設定)されていないとIAMユーザではアカウント、請求情報のページにアクセスできない
- 「IAMユーザー/ロールによる請求情報へのアクセス」の許可(有効/無効)設定はrootユーザのみ可能
- 設定項目もrootユーザのみに表示される
- IAMユーザで情報の参照ができていれば、有効に設定されている
その他、rootユーザで表示が異なる項目の一例
セキュリティ認証情報とアカウント・請求情報について、rootユーザとIAMユーザとでマネジメントコンソールの表示が違う項目を確認してきました。その他にもrootユーザでしか行えない操作については、表示が異なる項目はありそうです。本エントリですべてをチェック、網羅することはできませんが、rootユーザでのみ操作可能なタスクをいくつか確認してみたところ、サポートプランの変更で表示の違いが確認できました。
具体的にみてみましょう。マネジメントコンソールのサポートセンターから、左側メニューでサポートプランの変更リンクに移動します。rootアカウントでは、以下のように[プランの変更]ボタンが表示されました。
IAMユーザの場合は以下のように、rootアカウントでのサインインが必要な旨、表示されます。
まとめ
rootユーザでAWSマネジメントコンソールにアクセスした際に、IAMユーザとは表示などが異なる項目についてまとめてみました。細かな点も多いですが、rootユーザ固有の表示や設定項目がいくつか確認できました。rootユーザについてはAWSアカウント作成時など特別なとき以外は使用しないのがAWSのベストプラクティスです。普段触らない項目だからこそ、触った際には気になった通常時との違いなどを記録しておきたいなぁと思ったしだいでした。これで次にrootユーザでアクセスした際に、IAMユーザとの設定項目の違いを少し忘れにくくなったかなと思います。
脚注
- 例えば会社から払い出されるAWSアカウントなどでも、基本rootユーザでのログインはアカウントチームが対応するためIAMユーザ・ロールでアクセスしています。 ↩